package com.tfswx.jcyw.dmzc.api;

import com.tfswx.jcyw.dmzc.api.dto.*;
import com.tfswx.swxtool.http.Http;
import com.tfswx.swxtool.http.HttpMethod;
import com.tfswx.swxtool.http.adapter.SwxResAdapter;

import java.util.List;
import java.util.Map;

/**
 * @author 张述江
 * @date 2023/4/4
 */
@Http(resAdapter = SwxResAdapter.class)
public interface FwdApi {
    @Http(httpMethod = HttpMethod.POST, url = "/api/qxgl/login")
    LoginOutputDTO login(LoginInputDTO queryParam);

    @Http(httpMethod = HttpMethod.POST, url = "/api/xmpsgl/queryPsbzfllb")
    List<PsbzfllbQueryResult> queryPsbzfllb(PsbzfllbQueryParam queryParam);

    @Http(httpMethod = HttpMethod.POST, url = "/api/xmpsgl/queryPsbzlb")
    PageResult<PsbzlbQueryResult> queryPsbzlb(PageParam<PsbzlbQueryParam> queryParam);

    @Http(httpMethod = HttpMethod.POST, url = "/api/zzjg/queryRylb")
    PageResult<RylbQueryResult> queryRylb(PageParam<RylbQueryParam> queryParam);

    @Http(httpMethod = HttpMethod.POST, url = "/api/xmpsgl/addDmzc")
    void addDmzc(Map<String, Object> queryParam);

    @Http(httpMethod = HttpMethod.POST, url = "/api/xmpsgl/addJhdmzc")
    void addJhdmzc(Map<String, Object> queryParam);

    @Http(httpMethod = HttpMethod.POST, url = "/api/xmpsgl/queryDmzclb")
    PageResult<DmzclbQueryResult> queryDmzclb(PageParam<DmzclbQueryParam> queryParam);

    @Http(httpMethod = HttpMethod.POST, url = "/api/xmpsgl/queryJhdmzclb")
    PageResult<DmpslbQueryResult> queryDmpslb(PageParam<DmpslbQueryParam> queryParam);

    @Http(httpMethod = HttpMethod.POST, url = "/api/xmpsgl/deleteDmzc")
    void deleteDmzc(DmzcDeleteInputDTO queryParam);

    @Http(httpMethod = HttpMethod.POST, url = "/api/xmpsgl/getDmzc")
    DmzcGetOutputDTO getDmzc(DmzcGetInputDTO queryParam);

    @Http(httpMethod = HttpMethod.POST, url = "/fpi/wjfw/download")
    byte[] download(DownloadInputDTO queryParam);
}
